package jp.co.yamcha.a01.dataaccess;

import com.jenkov.db.PersistenceManager;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * フレームワーク「Butterfly Persistence」を使用した、<br /> RDBにアクセスするためのサンプルテストDAO。
 *
 * @author test
 */
public class A01DAO {

    /**
     * デフォルト　コンストラクタ
     */
    public A01DAO() {
        //処理無し
    }

    /**
     * データ取得
     *
     * @return テストデータ
     */
    public List<Map> getRdsDataByOne() throws Exception {
        //戻り値のガワ作成
        ArrayList<Map> ret = null;
        Map dataOneRec;

        //ドライバの準備
        Class.forName("org.gjt.mm.mysql.Driver");
        //TODO 外部ファイルからの読み込みに変更
        String url = "jdbc:mysql://testdb.cqsuo8fc5oz6.us-east-1.rds.amazonaws.com?useUnicode=true&characterEncoding=UTF-8";

        //TODO コネクションプール化
        try (
                //コネクションの作成
                Connection con = DriverManager.getConnection(url, "testdbmaster", "testdbadmin0516");) {

            //ＤＢマネージャの作成
            PersistenceManager manager = new PersistenceManager();

            //SQLの作成
            String sql = "select * from testdb1.A01 where col1 = ? order by col1";

            //データ取得
            dataOneRec = manager.createDaos(con).getMapDao().readMap(sql, "0001");
        }
        //返却加工
        ret = new ArrayList<>();
        ret.add(dataOneRec);

        return ret;
    }
}
